package com.example.lib_common.base.internal

internal interface IFragmentVisibility {

    /**
     * Called when the fragment is visible.
     */
    fun onFragmentShow() {}

    /**
     * Called when the Fragment is not visible.
     */
    fun onFragmentHide() {}

    /**
     * Called when the fragment is visible for the first time.
     */
    fun onFragmentFirstShow() {}

    /**
     * Called when the fragment is visible except first time.
     */
    fun onVisibleExceptFirst() {}

    /**
     * Return true if the fragment is currently visible to the user.
     */
    fun isVisibleToUser(): Boolean
}